import UIKit

@available(iOS 2.0, *)
extension QKC where AA :UITextView {
     open func delegate_qk_s(_ delegate:  UITextViewDelegate?) -> QKC<AA,YY,ZZ, UITextViewDelegate?>{
		return link(next: delegate).then_QK { $0.value.delegate = delegate }
	}
     open func delegate_qk_g() -> QKC<AA,YY,ZZ, UITextViewDelegate?>{
		 self +^ self.value.delegate
	}

    open func text_qk_s(_ text:  String) -> QKC<AA,YY,ZZ, String>{
		return link(next: text).then_QK { $0.value.text = text }
	}
    open func text_qk_g() -> QKC<AA,YY,ZZ, String>{
		 self +^ self.value.text
	}

    open func font_qk_s(_ font:  UIFont?) -> QKC<AA,YY,ZZ, UIFont?>{
		return link(next: font).then_QK { $0.value.font = font }
	}
    open func font_qk_g() -> QKC<AA,YY,ZZ, UIFont?>{
		 self +^ self.value.font
	}

    open func textColor_qk_s(_ textColor:  UIColor?) -> QKC<AA,YY,ZZ, UIColor?>{
		return link(next: textColor).then_QK { $0.value.textColor = textColor }
	}
    open func textColor_qk_g() -> QKC<AA,YY,ZZ, UIColor?>{
		 self +^ self.value.textColor
	}

		// default is NSLeftTextAlignment
    open func textAlignment_qk_s(_ textAlignment:  NSTextAlignment ) -> QKC<AA,YY,ZZ, NSTextAlignment >{
		return link(next: textAlignment).then_QK { $0.value.textAlignment = textAlignment }
	}
    open func textAlignment_qk_g() -> QKC<AA,YY,ZZ, NSTextAlignment >{
		 self +^ self.value.textAlignment
	}

    open func selectedRange_qk_s(_ selectedRange:  NSRange) -> QKC<AA,YY,ZZ, NSRange>{
		return link(next: selectedRange).then_QK { $0.value.selectedRange = selectedRange }
	}
    open func selectedRange_qk_g() -> QKC<AA,YY,ZZ, NSRange>{
		 self +^ self.value.selectedRange
	}

    open func isEditable_qk_s(_ isEditable:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: isEditable).then_QK { $0.value.isEditable = isEditable }
	}
    open func isEditable_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.isEditable
	}

		// toggle selectability, which controls the ability of the user to select content and interact with URLs & attachments. On tvOS this also makes the text view focusable.
    @available(iOS 7.0, *)
    open func isSelectable_qk_s(_ isSelectable:  Bool ) -> QKC<AA,YY,ZZ, Bool >{
		return link(next: isSelectable).then_QK { $0.value.isSelectable = isSelectable }
	}
    @available(iOS 7.0, *)
    open func isSelectable_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.isSelectable
	}

    @available(iOS 3.0, *)
    open func dataDetectorTypes_qk_s(_ dataDetectorTypes:  UIDataDetectorTypes) -> QKC<AA,YY,ZZ, UIDataDetectorTypes>{
		return link(next: dataDetectorTypes).then_QK { $0.value.dataDetectorTypes = dataDetectorTypes }
	}
    @available(iOS 3.0, *)
    open func dataDetectorTypes_qk_g() -> QKC<AA,YY,ZZ, UIDataDetectorTypes>{
		 self +^ self.value.dataDetectorTypes
	}

		// defaults to NO
    @available(iOS 6.0, *)
    open func allowsEditingTextAttributes_qk_s(_ allowsEditingTextAttributes:  Bool ) -> QKC<AA,YY,ZZ, Bool >{
		return link(next: allowsEditingTextAttributes).then_QK { $0.value.allowsEditingTextAttributes = allowsEditingTextAttributes }
	}
    @available(iOS 6.0, *)
    open func allowsEditingTextAttributes_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.allowsEditingTextAttributes
	}

    @available(iOS 6.0, *)
     open func attributedText_qk_s(_ attributedText:  NSAttributedString) -> QKC<AA,YY,ZZ, NSAttributedString>{
		return link(next: attributedText).then_QK { $0.value.attributedText = attributedText }
	}
    @available(iOS 6.0, *)
     open func attributedText_qk_g() -> QKC<AA,YY,ZZ, NSAttributedString>{
		 self +^ self.value.attributedText
	}

    

	// set while first responder, will not take effect until reloadInputViews is called.
    open func inputView_qk_s(_ inputView:  UIView?) -> QKC<AA,YY,ZZ, UIView?>{
		return link(next: inputView).then_QK { $0.value.inputView = inputView }
	}
    open func inputView_qk_g() -> QKC<AA,YY,ZZ, UIView?>{
		 self +^ self.value.inputView
	}

    open func inputAccessoryView_qk_s(_ inputAccessoryView:  UIView?) -> QKC<AA,YY,ZZ, UIView?>{
		return link(next: inputAccessoryView).then_QK { $0.value.inputAccessoryView = inputAccessoryView }
	}
    open func inputAccessoryView_qk_g() -> QKC<AA,YY,ZZ, UIView?>{
		 self +^ self.value.inputAccessoryView
	}

		// defaults to NO. if YES, the selection UI is hidden, and inserting text will replace the contents of the field. changing the selection will automatically set this to NO.
    @available(iOS 6.0, *)
    open func clearsOnInsertion_qk_s(_ clearsOnInsertion:  Bool ) -> QKC<AA,YY,ZZ, Bool >{
		return link(next: clearsOnInsertion).then_QK { $0.value.clearsOnInsertion = clearsOnInsertion }
	}
    @available(iOS 6.0, *)
    open func clearsOnInsertion_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.clearsOnInsertion
	}

	// Get the text container for the text view
    @available(iOS 7.0, *)
    open func textContainer_qk_g() -> QKC<AA,YY,ZZ, NSTextContainer >{
		 self +^ self.value.textContainer
	}

	// Inset the text container's layout area within the text view's content area
    @available(iOS 7.0, *)
    open func textContainerInset_qk_s(_ textContainerInset:  UIEdgeInsets) -> QKC<AA,YY,ZZ, UIEdgeInsets>{
		return link(next: textContainerInset).then_QK { $0.value.textContainerInset = textContainerInset }
	}
    @available(iOS 7.0, *)
    open func textContainerInset_qk_g() -> QKC<AA,YY,ZZ, UIEdgeInsets>{
		 self +^ self.value.textContainerInset
	}

	// Convenience accessors (access through the text container)
    @available(iOS 7.0, *)
    open func layoutManager_qk_g() -> QKC<AA,YY,ZZ, NSLayoutManager >{
		 self +^ self.value.layoutManager
	}

    @available(iOS 7.0, *)
    open func textStorage_qk_g() -> QKC<AA,YY,ZZ, NSTextStorage >{
		 self +^ self.value.textStorage
	}

    

	// When turned on, this changes the rendering scale of the text to match the standard text scaling and preserves the original font point sizes when the contents of the text view are copied to the pasteboard.  Apps that show a lot of text content, such as a text viewer or editor, should turn this on and use the standard text scaling.
    @available(iOS 13.0, *)
    open func usesStandardTextScaling_qk_s(_ usesStandardTextScaling:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: usesStandardTextScaling).then_QK { $0.value.usesStandardTextScaling = usesStandardTextScaling }
	}
    @available(iOS 13.0, *)
    open func usesStandardTextScaling_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.usesStandardTextScaling
	}

    open func scrollRangeToVisible_qk_f(_ range: NSRange) -> QKC<AA,YY,ZZ, NSRange>{
		 self +^ self.value.scrollRangeToVisible(range) +^ range
	}

}

